package #(basePackage).#(table.moduleType).#(table.moduleName).#(table.domainName).controller.#(sceneEnum.basePackage).vo.#(table.businessName);

import lombok.*;
import java.util.*;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
#for(column : columns)
#if(column.javaType == "BigDecimal")
import java.math.BigDecimal;
#break
#end
#end

### 处理 LocalDateTime 字段的引入
#for(column : columns)
#if(column.listOperation && column.javaType == "LocalDateTime")
import java.time.LocalDateTime;

import static #(DateUtilsClassName).FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
#break
#end
#end

### 字段模板
#define columnTpl(prefix, prefixStr)
    @Schema(description = "#(prefixStr)#(column.columnComment)"#if (column.example != ""), example = "#(column.example)"#end)
    private #(column.javaType)#if (prefix != "") #(prefix)#(JavaField)#else #column.javaField)#end;
#end

/**
 * @author "#(table.author)"
 */
@ApiModel(value = "#(sceneEnum.name) - #(table.classComment) Simple Response VO")
@Data
public class #(sceneEnum.prefixClass)#(table.className)SimpleRespVo implements Serializable {

### 逐个处理字段
#for(column : columns)
#if(column.listOperationResult)
### 1. 处理 Swagger 注解
    @ApiModelProperty(value = "#(column.columnComment)"#if(!column.nullable), required = true#end#if (column.example != ""), example = "#(column.example)"#end)
### 2. 处理字段定义
    private #(column.javaType) #(column.javaField);

#end
#end
}